﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace B10.Models
{
    public interface IDatabaseRepository
    {
        void Add(UserPage page);
        void Add(GalleryImage img);
        UserPage GetPage(int id);
        Comment GetComment(int id);
        ForumPost GetPost(int id);
        UserProfile GetProfile(string userName);
        UserProfile GetProfile(int? id);
        UserProfile GetFBProfile(long id); 
        GalleryImage GetGalleryImage(int id);
        UserPage GetPageByUrl(string pageUrl);
        IQueryable<UserPage> GetActivePages();
        IQueryable<UserPage> GetAllPages();
        IQueryable<T> GetAll<T>() where T : class;
        void Delete<TEntity>(TEntity entity) where TEntity : class;
        void Add<TEntity>(TEntity entity) where TEntity : class;
        void Save();

        bool LazyLoading { get; set; }
    }
}
